package com.wcpdoc.exam.core.service;

import com.wcpdoc.core.service.BaseService;
import com.wcpdoc.exam.core.entity.MyMockQuestion;
import com.wcpdoc.exam.core.entity.MyQuestion;

import java.util.List;

/**
 * 我的试题服务层接口
 * <p>
 * v1.0 zhanghc 2017-06-19 16:28:29
 */
public interface MyMockQuestionService extends BaseService<MyMockQuestion> {
    /**
     * 获取我的试题
     * <p>
     * v1.0 zhanghc 2021年10月19日上午9:54:36
     *
     * @param examId
     * @param userId
     * @param questionId
     * @return MyMockQuestion
     */
    MyMockQuestion getMyQuestion(Integer examId, Integer userId, Integer questionId);

    /**
     * 获取我的试题
     * <p>
     * v1.0 zhanghc 2022年5月20日上午9:18:55
     *
     * @param examId
     * @param userId
     * @return List<MyMockQuestion>
     */
    List<MyMockQuestion> getList(Integer examId, Integer userId);


    /**
     * 随机使用
     *
     * @param examId
     * @param userId
     * @return
     */
    void genRandomList(Integer examId, Integer userId);

    /**
     * 我的试题清理
     * <p>
     * v1.0 zhanghc 2023年3月22日下午5:40:35
     *
     * @param examId void
     */
    void clear(Integer examId);

    /**
     * 清理试卷信息 ： 根据用户id和试卷id 清理用户得试卷
     * <p>
     * v1.0 zhanghc 2023年3月22日下午5:40:35
     *
     * @param examId void
     */
    void clearMyMockExamQuestion(Integer examId, Integer userId);

    /**
     * 根据试卷id和用户id将用户答案设置位null 重新计算分数和重复考试
     *
     * @param examId
     * @param userId
     */
    void clearAnswer(Integer examId, Integer userId);

}
